package com.tuda.system.service;

import java.util.List;
import com.tuda.system.domain.TudaOrder;
import com.tuda.system.domain.TudaOrderTransfer;
import com.tuda.system.domain.TudaOrderTree;
import com.tuda.system.model.param.EditOrderOtherFee;
import com.tuda.system.model.param.EditOrderParam;

/**
 * 货运订单Service接口
 *
 * @author tuda
 * @date 2023-07-14
 */
public interface ITudaOrderService
{
    /**
     * 查询货运订单
     *
     * @param id 货运订单主键
     * @return 货运订单
     */
     TudaOrder selectTudaOrderById(Long id);

    /**
     * 查询货运订单列表
     *
     * @param tudaOrder 货运订单
     * @return 货运订单集合
     */
     List<TudaOrder> selectTudaOrderList(TudaOrder tudaOrder);

    /**
     * 获取批量发运运单列表
     * @param orderIds
     * @return
     */
     List<TudaOrderTree> queryOrderById(String orderIds);

    List<TudaOrderTransfer> transferList(Long orderId);

    /**
     * 新增货运订单
     *
     * @param tudaOrder 货运订单
     * @return 结果
     */
     int insertTudaOrder(TudaOrder tudaOrder);

    int addOrderTransfer(TudaOrderTransfer tudaOrder);

    /**
     * 修改货运订单
     *
     * @param tudaOrder 货运订单
     * @return 结果
     */
     int updateTudaOrder(TudaOrder tudaOrder);

    /**
     * 批量删除货运订单
     *
     * @param ids 需要删除的货运订单主键集合
     * @return 结果
     */
     int deleteTudaOrderByIds(String ids);

    int updateStatusByIds(String ids, Integer type);


    /**
     * 删除货运订单信息
     *
     * @param id 货运订单主键
     * @return 结果
     */
     int deleteTudaOrderById(Long id);

    int transportSave(EditOrderParam orderTransfer);

    int updateOtherFee(EditOrderOtherFee orderFee);

    int updateOrderTypeByIds(String ids);
}
